參與:王子嘉、Geek AI
本文轉自:機器之心
諸如 TIOBE 此類的程式語言流行排行榜一直吸引了大量 IT 產業從業者的目光。隨著市場需求的變化,最受歡迎程式語言的頭把交椅從早年的 C++,到 Java 再到如今的 JavaScript、Python,可謂你方唱罷我登場。而在業界的招聘經理們看來,優秀的開發者需要具備哪些素養呢?開發者們更喜歡學哪些技能呢?本文對這些問題進行了一一詳解。
為了瞭解 2020 年市場對開發人員技能需求的狀況,世界知名招聘平臺 HackerRank 對來自 162 個國家/地區的 116,000 多名開發人員和招聘經理進行了每人 15 分鐘的線上調查,釋出了第三份年度開發人員技能報告。這是該公司有史以來規模最大的調查,要求受訪者提供有關編碼訓練營、薪酬公平等方面的投入,相關結論如下。
事實證明,這在很大程度上取決於公司的規模。
小公司更喜歡全才,從而招募到很多可以身兼數職的全棧開發人員。這通常是以犧牲掉招募專用前端開發者和後端開發者的成本為代價的。
較小公司認為全棧開發人員更重要,大公司則更可能需要領域專家
HackerRank 的《2020 年開發者技能報告》(2020 Developer Skills report) 中的圖表顯示,對於較小的公司(少於 50 名員工)來說,43% 的公司認為全棧開發者是他們最想僱傭的人。
細想一下,這種現象是有道理的。大公司才能允許人做更多專業性的事情。
也就是說,所有大型公司的大多數招聘經理都將前端、後端或全棧開發人員列為優先招聘的人員。只有約 30% 的 招聘經理認為以下職位是他們的優先選擇:
JavaScript 仍然是最受僱主歡迎的程式語言技能
上圖按地區列舉了招聘經理對語言的看重程度,JavaScript 是最受歡迎的語言,緊隨其後的是 Python 和 Java。
但這裡有一個很有趣的現象 — — 越來越多的經理(尤其是在美洲)是「語言無關的」,他們並不關心你瞭解哪種特定的程式語言。
這可以追溯到我過去幾年一直在反覆宣揚的一個觀點:如果你能學好一門程式語言,你就可以輕鬆地在工作中學習第二門語言。
因此,我很高興越來越多的僱主認識到這一現實情況,而不是僅僅為「JavaScript 開發人員」或「Python 開發人員」提供工作崗位。
開發人員過去所開發的成果比開發人員使用的特定工具更能反映他們的能力。
這張圖表展示了沒有學士學位、有學位和有研究生學位的開發人員的比例(按僱主規模排序)。規模較小的公司聘用沒有學位的開發人員的可能性更高。
這與上世紀 90 年代和 21 世紀初的情況有很大的不同,當時大多數開發人員的工作都對學位有所要求。但是細想下來,這也是完全有道理的。在過去 40 年裡,獲得大學學位(尤其是在美國)的成本飆升。
美國大學學雜費的通貨膨脹與總體通貨膨脹(消費者價格指數)之比。(資料來源:美國國家教育統計中心)
我的建議一直是:上便宜的社群大學,然後上便宜的公立大學。如果你能在不負債的情況下獲得四年制學位,我仍然認為這是值得的。但我可以理解,那些已經過了傳統意義上讀大學的年齡(十幾歲到二十歲出頭)的人完全不想上大學的原因。在大學學雜費增長 25 倍的同時,全球資訊網也誕生了,隨之而來的是大量的免費學習資源。現在,只要你願意靜下心來學習,你就可以免費學到很多東西。
因此,鼓舞人心的是,我們看到越來越多的僱主開始僱傭完全自學成才的開發人員。同時,在上大學和完全依賴網上免費學習之間出現了一個新的中間地帶:程式設計訓練營。
我寫過大量關於程式設計訓練營的文章,而且也解釋了它們對那些不想重返校園的人的作用。大多數人通過一兩年的線上自學,參加當地的科技活動,逛逛當地的極客空間,就能成功地找到一份開發人員的工作。
但是有些人更喜歡加入編碼訓練營,因為訓練營的課程更有結構性,也更容易理解。這和上社群大學和州立大學的花費基本是一樣的,但是它們要快一些。同時一些僱主正在僱傭這些程式設計訓練營的畢業生並分享他們對他們的看法,這對參加訓練營的人來說無疑是好訊息。
圖表顯示,在接受調查的招聘經理中,近 32% 的人曾聘用過一名參加過程式設計訓練營的開發人員。
接受調查的招聘經理中,約有 32% 的人表示,他們曾聘用過程式設計訓練營畢業生。
以下是他們對這些訓練營畢業生能力的看法:
上圖顯示,大多數招聘經理認為,程式設計訓練營的畢業生與其他人勝任其工作的能力是差不多的。
他們發現,這些程式設計訓練營畢業生的能力大多與其他僱員一樣好。甚至有近三分之一的人表示,程式設計訓練營的畢業生比一般員工表現更好。需要注意的一點是,許多程式設計訓練營的畢業生已經獲得了學士學位 — — 有些人來自電腦科學和工程領域。因此,這些訓練營的畢業生中,有些人的受教育程度比一般員工高。還要注意,不同程式設計訓練營之間的教學質量差異很大。
這項調查沒有公佈更詳細的資料,所以我們不知道哪些程式設計訓練營是最受僱主歡迎的,我們也不知道傳統的實體訓練營和線上訓練營的數量是多少。但不管怎樣,在招聘了程式設計訓練營畢業生的招聘經理中,有 32% 的人對這些人技能的評價很高。這一事實肯定會讓其他在自己城市建立程式設計訓練營的開發人員感到安心。
儘管 JavaScript 是目前使用最廣泛、最受歡迎的程式語言技能,但未來的情況將會如何也一直是個問題。幸運的是,這項調查也包括了這項內容。如下圖所示:
如上圖所示,36% 的開發者希望接下來學習 Go,然後是 Python 和 Kotlin。
我們可以假設大多數受訪者已經會使用 JavaScript 了 — — 因為到 2020 年,如果不瞭解 JavaScript,就很難成為一名開發人員。因此,開發人員正在將目光轉向一些新的語言。為了防止你還不熟悉這些語言,接下來我會對這些語言做簡單描述。
Go 是谷歌在 2007 年開發的一種功能強大的伺服器語言。Go 提供的特性如下:
我們正在開發一個基於瀏覽器的互動式 Python 課程,這門課程將會在 2020 面世,同時這個課程是提供證書的:
https://www.freecodecamp.org/news/python-curriculum/
2020 年,開發者們第三想學的語言是 Kotlin。Kotlin 是 JetBrains(InteliJ 和 WebStorm 等流行 IDE 的建立者)開發的一門優秀的語言。Android 開發本來是基於 Java 的,Kotlin 讓這個開發流程變得更簡單了。
「freeCodeCamp」上也有一門免費的 4 小時 Kotlin 課程:
https://www.freecodecamp.org/news/learn-how-to-develop-native-android-apps-with-kotlin-full-tutorial/
圖表顯示 59% 的開發人員希望在工作中學習新的技術技能。這個數字比那些主要想要獲得證書、開發軟技能或得到晉升的開發人員的數量要大得多。一言以蔽之:技能。大多數開發人員不太關心職業發展的傳統標誌(晉升)。他們更關心如何擴充套件自己的技術技能。
當你看下面這個圖表時,你就能理解這種現象出現的原因了:
圖表顯示,相較於管理崗,開發人員對技術崗的興趣更高。
**大多數開發人員更願意在技術崗上獲得晉升,而不是進軍管理崗。**項目經理是經理,而獨立貢獻者就是一個被管理的開發人員。但究竟什麼是技術主管呢?技術主管的角色因公司而異,但其工作一般跟做出高層次的技術決策(如提出架構)和為開發團隊設定遠景有關。技術主管通常向項目經理彙報,項目經理再向像 CTO 這樣的高管彙報。
2020 年,開發者每年能賺多少錢?
根據對全球範圍內 11.6 萬名開發者的調查,他們的平均年薪為 5.4 萬美元。讓我們具體看看美國的情況,美國的開發者得到的報酬最多。我不太清楚這是為什麼,但我猜測這背後的原因有很多:美國是世界上許多最大的軟體公司的總部所在地,再加上限制性
移民政策限制了可以招募的開發者。
以下是美國城市中開發者的平均工資:
舊金山以 14.8 萬美元的平均年薪位居榜首,其次是西雅圖、洛杉磯和波士頓。相比之下,美國人的平均收入約為 4.7 萬美元。所以作為一名開發人員的工作是真的不錯的了。